<template>
    <div>
        <ul>
            <li v-for="m in messageList" :key="m.id">
                <!--         注意to加:符号  -->
                <router-link :to="{
                    // 路由指定了多级路由的name
                    name: 'xiangqing',      // 如果下面配置使用params传参数,必须使用name才行
                    // path: '/home/message/detail',       // name和path用一个就行,
                    // query表示路由跳转携带的参数
                    // query: {
                    //     id: m.id,
                    //     title: m.title,
                    // },
                    // params也是路由跳转携带的参数,但使用params传参数的话,上面路径必须使用name,不能使用path
                    params: {
                        id: m.id,
                        title: m.title,
                    }
                }">
                    {{ m.title }}
                </router-link>&nbsp;&nbsp;

                <button @click="pushShow(m)">push查看</button>
                <button @click="replaceShow(m)">replace查看</button>

            </li>
        </ul>
        <hr>
        <router-view></router-view>
    </div>
</template>

<script>

// 这个组件只是显示在Home组件里
export default {
    name: 'Message',
    data() {
        return {
            messageList: [
                { id: '001', title: '消息001' },
                { id: '002', title: '消息002' },
                { id: '003', title: '消息003' },
            ]
        }
    },
    methods: {
        pushShow(m) {
            this.$router.push({
                name: 'xiangqing',
                params: {
                    id: m.id,
                    title: m.title,
                },
            })
        },
        replaceShow(m) {
            // replace 浏览器路由不会被保存,浏览器后退不会返回上一页
            this.$router.replace({
                name: 'xiangqing',
                params: {
                    id: m.id,
                    title: m.title,
                },
            })
        }
    },
}
</script>